package com.smart.community.region.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.smart.community.commons.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 社区实体类
 * 功能单一：纯粹的数据库字段映射Bean对象
 * 
 * @author Wu.Liang
 * @since 2024-12-21
 * @version 2.0.0 - 生产环境优化版本
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sc_community")
public class Community extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 社区编码
     */
    @TableField("community_code")
    private String communityCode;

    /**
     * 社区名称
     */
    @TableField("community_name")
    private String communityName;

    /**
     * 所属区域ID
     */
    @TableField("region_id")
    private Long regionId;

    /**
     * 详细地址
     */
    @TableField("address")
    private String address;

    /**
     * 面积（平方米）
     */
    @TableField("area")
    private BigDecimal area;

    /**
     * 楼栋数量
     */
    @TableField("building_count")
    private Integer buildingCount;

    /**
     * 房户数量
     */
    @TableField("household_count")
    private Integer householdCount;

    /**
     * 居民数量
     */
    @TableField("resident_count")
    private Integer residentCount;

    /**
     * 备注（对应表字段 description）
     */
    @TableField("description")
    private String description;

    /**
     * 负责人姓名
     */
    @TableField("manager_name")
    private String managerName;

    /**
     * 社区类型：1-住宅社区，2-商业社区，3-混合社区
     */
    @TableField("community_type")
    private Integer communityType;

    /**
     * 纬度
     */
    @TableField("latitude")
    private BigDecimal latitude;

    /**
     * 经度
     */
    @TableField("longitude")
    private BigDecimal longitude;

    /**
     * 物业公司
     */
    @TableField("property_company")
    private String propertyCompany;

    /**
     * 物业电话
     */
    @TableField("property_phone")
    private String propertyPhone;

    /**
     * 社区联系电话
     */
    @TableField("contact_phone")
    private String contactPhone;

    /**
     * 状态：0-禁用，1-启用
     */
    @TableField("status")
    private Integer status;

    /**
     * 排序字段
     */
    @TableField("sort_order")
    private Integer sortOrder;

    /**
     * 开发商
     */
    @TableField("developer")
    private String developer;

    /**
     * 建设年份
     */
    @TableField("build_year")
    private Integer buildYear;

    /**
     * 绿化率(%)
     */
    @TableField("green_rate")
    private BigDecimal greenRate;

    /**
     * 容积率
     */
    @TableField("plot_ratio")
    private BigDecimal plotRatio;

    /**
     * 单元数量
     */
    @TableField("unit_count")
    private Integer unitCount;

    /**
     * 人口数量
     */
    @TableField("population")
    private Integer population;

    /**
     * 停车位数量
     */
    @TableField("parking_count")
    private Integer parkingCount;

    /**
     * 联系邮箱
     */
    @TableField("contact_email")
    private String contactEmail;

    /**
     * 服务时间
     */
    @TableField("service_hours")
    private String serviceHours;

    /**
     * 配套设施（JSON格式）
     */
    @TableField("facilities")
    private String facilities;

    /**
     * 社区图片（JSON数组）
     */
    @TableField("images")
    private String images;

} 